package com.csun.nusing.ui.activity;

import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.text.Html;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;

import com.csun.nusing.R;
import com.csun.nusing.presenter.CommonPresenter;
import com.csun.nusing.ui.BaseActivity;
import com.csun.nusing.util.GlideCacheUtil;

/**
 * 设置界面 ClassName: NursingSettingActivity
 * 
 * @Description: TODO
 * @author fzq
 * @date 2017-11-2
 */
public class NursingSettingActivity extends BaseActivity<CommonPresenter> {

	private TextView clearcachetv;
	private TextView cachetv;
	private String cachesize;
	private GlideCacheUtil glidecache;

	@Override
	public int getContentViewId() {
		return R.layout.activity_nursing_setting;
	}

	@Override
	public void initSubViews(View view) {
		super.initSubViews(view);
		initView();
	}

	private void initView() {
		clearcachetv = findViewById(R.id.nursing_setting_clearcache_tv);

		cachetv = findViewById(R.id.nursing_setting_cache_tv);
		clearcachetv.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				getConfirmDialog(NursingSettingActivity.this, "是否清空缓存?",
						new DialogInterface.OnClickListener() {
							@Override
							public void onClick(
									DialogInterface dialogInterface, int i) {
								// clearAppCache();
								clearcache();

							}
						}).show();
			}
		});
	}

	/**
	 * 清除glide缓存
	 * 
	 * @Description: TODO
	 * @param
	 * @return void
	 * @throws
	 * @author fzq
	 * @date 2017-11-7
	 */
	private void clearcache() {
		// 获取缓存大小
		// 清除缓存
		glidecache.clearImageAllCache(this);
		glidecache.clearImageDiskCache(this);
		glidecache.clearImageMemoryCache(this);
		cachetv.setText("0KB");
	}

	// /**
	// * 计算缓存的大小
	// */
	// private void caculateCacheSize() {
	// long fileSize = 0;
	// String cacheSize = "0KB";
	// File filesDir = this.getFilesDir();
	// File cacheDir = this.getCacheDir();
	//
	// fileSize += FileUtil.getDirSize(filesDir);
	// fileSize += FileUtil.getDirSize(cacheDir);
	// // 2.2版本才有将应用缓存转移到sd卡的功能
	// if (isMethodsCompat(android.os.Build.VERSION_CODES.FROYO)) {
	// File externalCacheDir = MethodsCompat
	// .getExternalCacheDir(this);
	// fileSize += FileUtil.getDirSize(externalCacheDir);
	// fileSize += FileUtil.getDirSize(new File(
	// org.kymjs.kjframe.utils.FileUtils.getSDCardPath()
	// + File.separator + "KJLibrary/cache"));
	// }
	// if (fileSize > 0)
	// cacheSize = FileUtil.formatFileSize(fileSize);
	// tvCache.setText(cacheSize);
	// }
	//
	// public static boolean isMethodsCompat(int VersionCode) {
	// int currentVersion = android.os.Build.VERSION.SDK_INT;
	// return currentVersion >= VersionCode;
	// }
	// /**
	// * 清除app缓存
	// */
	// public void myclearaAppCache() {
	// DataCleanManager.cleanDatabases(this);
	// // 清除数据缓存
	// DataCleanManager.cleanInternalCache(this);
	// // 2.2版本才有将应用缓存转移到sd卡的功能
	// if (isMethodsCompat(android.os.Build.VERSION_CODES.FROYO)) {
	// DataCleanManager.cleanCustomCache(MethodsCompat
	// .getExternalCacheDir(this));
	// }
	// // 清除编辑器保存的临时内容
	// Properties props = getProperties();
	// for (Object key : props.keySet()) {
	// String _key = key.toString();
	// if (_key.startsWith("temp"))
	// removeProperty(_key);
	// }
	// Core.getKJBitmap().cleanCache();
	// }
	//
	// /**
	// * 清除保存的缓存
	// */
	// public Properties getProperties() {
	// return AppConfig.getAppConfig(this).get();
	// }
	// public void removeProperty(String... key) {
	// AppConfig.getAppConfig(this).remove(key);
	// }
	// /**
	// * 清除app缓存
	// *
	// * @param
	// */
	// public void clearAppCache() {
	//
	// new Thread() {
	// @Override
	// public void run() {
	// Message msg = new Message();
	// try {
	// myclearaAppCache();
	// msg.what = CLEAN_SUC;
	// } catch (Exception e) {
	// e.printStackTrace();
	// msg.what = CLEAN_FAIL;
	// }
	// handler.sendMessage(msg);
	// }
	// }.start();
	// }
	// private Handler handler = new Handler() {
	// public void handleMessage(android.os.Message msg) {
	// switch (msg.what) {
	// case CLEAN_FAIL:
	// ToastUtils.show(SxApplication.getInstance(),"清除失败");
	// break;
	// case CLEAN_SUC:
	// ToastUtils.show(SxApplication.getInstance(),"清除成功");
	// break;
	// }
	// };
	// };

	/**
	 * dialog
	 * 
	 * @Description: TODO
	 * @param @param context
	 * @param @param message
	 * @param @param onClickListener
	 * @param @return
	 * @return AlertDialog.Builder
	 * @throws
	 * @author fzq
	 * @date 2017-11-2
	 */
	public static AlertDialog.Builder getConfirmDialog(Context context,
			String message, DialogInterface.OnClickListener onClickListener) {
		AlertDialog.Builder builder = getDialog(context);
		builder.setMessage(Html.fromHtml(message));
		builder.setPositiveButton("确定", onClickListener);
		builder.setNegativeButton("取消", null);
		return builder;
	}

	public static AlertDialog.Builder getDialog(Context context) {
		AlertDialog.Builder builder = new AlertDialog.Builder(context);
		return builder;
	}

	@Override
	public void initData() {
		super.initData();
		glidecache = GlideCacheUtil.getInstance();
		cachesize = glidecache.getCacheSize(this);
		cachetv.setText(""+cachesize);
	}

}
